package com.example.demo.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @Title: examVo
 * @Author 纪圣辉
 * @Package com.example.demo.vo
 * @Date 2025/11/11 16:08
 * @description:
 */
@Data
public class examVo {
    /**
     * 考试ID
     */
    @TableId(value = "exam_id", type = IdType.AUTO)
    private Integer examId;


    /**
     * 考试名称
     */
    private String examName;
    /**
     * 所属课程ID（关联course表）
     */
    private Integer courseId;
    private String courseName;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 总分
     */
    private BigDecimal totalScore;

    /**
     * 考试时长（分钟，可为空表示不限制）
     */
    private Integer examDuration;

    /**
     * 考试说明
     */
    private String description;

    /**
     * 状态：0-未开始，1-进行中，2-已结束
     * TODO 需要做定时任务修改状态，但毕竟只是一个一天速成，不做！
     */
    private Integer status;

    /**
     * 题目列表
     */
    private List<questionVo> questionList;

    @Data
    public static class questionVo {

        /**
         * 该题目在本次考试中的分值
         */
        private BigDecimal score;

        /**
         * 题型ID（关联question_type表）
         */
        private Integer typeId;

        /**
         * 题目内容
         */
        private String questionContent;

        /**
         * 选项A（适用于选择题）
         */
        private String optionA;

        /**
         * 选项B（适用于选择题）
         */
        private String optionB;

        /**
         * 选项C（适用于选择题）
         */
        private String optionC;

        /**
         * 选项D（适用于选择题）
         */
        private String optionD;

        /**
         * 正确答案
         */
        private String correctAnswer;

        /**
         * 题目ID（关联question_bank表）
         */
        private Integer questionId;

        /**
         * 难度等级
         */
        private String difficulty;
    }
}
